
package com.java2nb.novel.pay.mapper;

import com.java2nb.novel.pay.entity.PayOrder;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.dynamic.sql.SqlColumn;
import org.mybatis.dynamic.sql.SqlTable;

import javax.annotation.Generated;
import java.sql.JDBCType;
import java.util.Date;

@Mapper
/**
 * 支付订单Mapper接口
 * 继承MyBatis-Plus的BaseMapper，提供基础CRUD操作
 * 可根据业务需求扩展自定义方法
 */
public final class PayOrderDynamicSqlSupport {

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final PayOrderDynamicSqlSupport.PayOrder payOrder = new PayOrderDynamicSqlSupport.PayOrder();

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> payOrderNo = payOrder.payOrderNo;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> mchNo = payOrder.mchNo;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> appId = payOrder.appId;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> mchOrderNo = payOrder.mchOrderNo;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> wayCode = payOrder.wayCode;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Integer> amount = payOrder.amount;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> currency = payOrder.currency;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Integer> orderState = payOrder.orderState;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> subject = payOrder.subject;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> body = payOrder.body;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> clientIp = payOrder.clientIp;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> notifyUrl = payOrder.notifyUrl;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> returnUrl = payOrder.returnUrl;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Long> expiredTime = payOrder.expiredTime;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Date> createTime = payOrder.createTime;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Date> payTime = payOrder.payTime;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> channelTrxId = payOrder.channelTrxId;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> channelUser = payOrder.channelUser;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> extParam = payOrder.extParam;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Date> closeTime = payOrder.closeTime;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Date> updateTime = payOrder.updateTime;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<Integer> version = payOrder.version;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> channelExtra = payOrder.channelExtra;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> payParams = payOrder.payParams;

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final SqlColumn<String> payDataType = payOrder.payDataType;


    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    public static final class PayOrder extends SqlTable {
        public final SqlColumn<String> payOrderNo = column("pay_order_no", JDBCType.VARCHAR);

        public final SqlColumn<String> mchNo = column("mch_no", JDBCType.VARCHAR);

        public final SqlColumn<String> appId = column("app_id", JDBCType.VARCHAR);

        public final SqlColumn<String> mchOrderNo = column("mch_order_no", JDBCType.VARCHAR);

        public final SqlColumn<String> wayCode = column("way_code", JDBCType.VARCHAR);

        public final SqlColumn<Integer> amount = column("amount", JDBCType.INTEGER);

        public final SqlColumn<String> currency = column("currency", JDBCType.VARCHAR);

        public final SqlColumn<Integer> orderState = column("order_state", JDBCType.INTEGER);

        public final SqlColumn<String> subject = column("subject", JDBCType.VARCHAR);

        public final SqlColumn<String> body = column("body", JDBCType.VARCHAR);

        public final SqlColumn<String> clientIp = column("client_ip", JDBCType.VARCHAR);

        public final SqlColumn<String> notifyUrl = column("notify_url", JDBCType.VARCHAR);

        public final SqlColumn<String> returnUrl = column("return_url", JDBCType.VARCHAR);

        public final SqlColumn<Long> expiredTime = column("expired_time", JDBCType.BIGINT);

        public final SqlColumn<Date> createTime = column("create_time", JDBCType.TIMESTAMP);

        public final SqlColumn<Date> payTime = column("pay_time", JDBCType.TIMESTAMP);

        public final SqlColumn<String> channelTrxId = column("channel_trx_id", JDBCType.VARCHAR);

        public final SqlColumn<String> channelUser = column("channel_user", JDBCType.VARCHAR);

        public final SqlColumn<String> extParam = column("ext_param", JDBCType.VARCHAR);

        public final SqlColumn<Date> closeTime = column("close_time", JDBCType.TIMESTAMP);

        public final SqlColumn<Date> updateTime = column("update_time", JDBCType.TIMESTAMP);

        public final SqlColumn<Integer> version = column("version", JDBCType.INTEGER);

        public final SqlColumn<String> channelExtra = column("channel_extra", JDBCType.VARCHAR);

        public final SqlColumn<String> payParams = column("pay_params", JDBCType.VARCHAR);

        public final SqlColumn<String> payDataType = column("pay_data_type", JDBCType.VARCHAR);

        public PayOrder() {
            super("mch_pay_order");
        }
    }
}
